Bringing Perl to University

Eric Wilhelm on 2009-03-07T19:31:10

Jonathan Leto and I made a trip to Seattle to talk about Perl and The Perl Foundation's involvement with GSoC at a Google Summer of Code Infosession this week. The show-of-hands of students who have used Perl was only one or two out of about 25. My presentation included a very brief overview of TPF, Perl, the CPAN, Perl Mongers, YAPC, Perl 6 and Parrot (in under 10 minutes.) I guessed that most of these things might be completely foreign to a group of CS students, but the blank stares about the CPAN were particularly striking.

Apparently the CS curriculum does not cover version control, test-driven development, project planning, bugtrackers, external dependencies, and various other real-world issues. From talking to some of the students afterwards, they are getting exposed to algorithms and data structures, but only through Java. A few asked about my "Perl is multi-paradigmatic" comment (where I mentioned procedural, object-oriented, functional, and declarative programming.) The notion that you can come at the problem from a radically different direction was just as foreign as everything else I said. I got the impression that several students might have had Perl filed under "only does web stuff" (if they had heard much about it at all.) Hopefully we helped clear-up some misconceptions and spark some interest.

Please, go tell students in your area about Perl! It seems that the universities are neglecting to mention it.


Connexions?

zby on 2009-03-08T12:47:32

One way to introduce Perl into the educational space could be by joining the Connexions initiative. I have just discovered it - but I've been thinking before about the fact that Open Source produces a lot of educational content - but does that in a way completely separate from the academic field of pedagogy.

What benefit do they have?

gabor on 2009-03-08T13:44:58

I wonder what benefit would a student have in her studies knowing Perl?

Is it only for the sake of broadening their knowledge?

It certainly does not seem to be a key requirement in most of the openings out there.
Some of the other real-world issues you mentioned seem to be much more important for someone looking for a job than Perl.

Are there any immediate benefits for a student in knowing Perl?

I am trying to think about this and the main thing I could come up is that with perl they could easily copy the assignment of someone else, change the variables and function names and submit as their own.

Another, more noble cause might be to write a prototype of the assignment - though assignments are usually quite small anyway - or to test if the assignment was met.

Re:What benefit do they have?

mpeters on 2009-03-09T03:13:39

When I was still going to school I didn't learn Perl until my senior (last) year, but I wish I had learned it sooner. Not all of our classes required that the solution to a problem be written in a particular language. After I learned Perl I had several projects I wrote for my Networking and Software Engineering and I finished much quicker than those students who used C++, Java or C#.

Re:What benefit do they have?

zby on 2009-03-09T08:13:54

While the focuse in Perl is on the practical side - there are a few quite theoretically advanced things in it. Case in point - Roles in Moose are one of the very few implementations of a sematic described in a research article.

Perl and CS Majors

Kinyobi on 2009-03-09T23:25:20

As a new system administrator and having used perl for the previous year in my job I took a class on Perl programming that my university offered.

The other CS students taking the class were excellent programmers but lacked even basic common sense on how to program. Throughout their college career (this was a junior+ level class) they had been beaten into the mold of faster is better so when it came to the first homework assignment the teacher pulled me aside and asked if he could use my homework as an example.

Turns out I was the only student who "named" his variables, subroutines and remotely even documented his code. Every other student was quite proud that their script was 3 lines long and used 20 characters.

I did not learn a ton in that class about perl but I did learn a considerable amount about what is wrong with the current CS programming curriculum. The CS Majors learned how to "theoritically" program but were never forced until late in their college life to think about why they were doing something and how easy the code they created would be to maintain weeks, months or years after it was written. Learning with the absence of practical application is a waste of everyone's time and money if only Universities understood this. --- Those who can ... do, those who can't... teach....